Proposed systems for providing digital audio broadcasting (DAB) are expected to provide near compact disk (CD)-quality audio, data services and more robust coverage than existing analog FM transmissions. Digital audio broadcasting systems compress an audio signal using a digital audio encoder, such as a perceptual audio coder (PAC). Perceptual audio coders reduce the amount of information needed to represent an audio signal by exploiting human perception and minimizing the perceived distortion for a given bit rate. Perceptual audio coders are described, for example, in D. Sinha et al., “The Perceptual Audio Coder,” Digital Audio, Section 42, 42-1 to 42-18, (CRC Press, 1998), incorporated by reference herein. Generally, the amount of information needed to represent an audio signal is reduced using two well-known techniques, namely, irrelevancy reduction and redundancy removal. Irrelevancy reduction techniques attempt to remove those portions of the audio signal that would be, when decoded, perceptually irrelevant to a listener. This general concept is described, for example, in U.S. Pat. No. 5,341,457, entitled “Perceptual Coding of Audio Signals,” by J. L. Hall and J. D. Johnston, issued on Aug. 23, 1994, incorporated by reference herein.
Digital radio will be offered in a single channel and multiple channel form. The single channel form will use the existing infrastructure of FM broadcasting. Each digital audio channel is broadcast in the bandwidth allocated to one FM channel. Until such time as a transition to an all-digital DAB system can be achieved, many broadcasters require an intermediate solution in which the analog and digital signals can be transmitted simultaneously within the same licensed band. Such systems are typically referred to as hybrid in-band on-channel (HIBOC) DAB systems, and are being developed for both the FM and AM radio bands.
FIG. 1 illustrates a conventional DAB communication system 100. As shown in FIG. 1, the DAB communication system 100 employs a radio transmission link 130 that is typically of a fixed bit rate. The bit rate of the audio encoder 110, on the other hand, is typically variable, depending on the complexity of the current audio signal and the audio quality requirements. On average, the bit rate of the audio encoder 110 is equal to or less than the capacity of the transmission link 130, but at any given instance the bit rate of the audio coder 110 may be higher. If data from the audio encoder 110 was applied directly to the transmission link 130, data would be lost each time the instantaneous bit rate of the encoder 110 exceeded the capacity of the transmission link 130. In order to prevent such a loss of data, the output of the encoder 110 is buffered into a first-in-first-out (FIFO) buffer 120 before being applied to the transmission link 130. If the instantaneous bit rate of the encoder 110 is higher than the bit rate of the transmission link, the amount of data in the FIFO buffer 120 increases. Similarly, if the instantaneous bit rate of the encoder 110 is lower than the bit rate of the transmission link 130, the amount of data in the FIFO buffer 120 decreases. The encoder 110 typically contains a control loop that modifies the bit rate of the encoder 110 and prevents the encoder 110 from overflowing or underflowing the FIFO buffer 120. Overflow causes a loss of bits, while an underflow wastes some of the capacity the transmission link 130.
As a result of this scheme, the transmission delay is also variable. The delay between the time when an audio packet is first written into the FIFO buffer 120 and the time when the packet is actually received by the receiver 150 depends, among other factors, on the amount of data that is currently stored in the FIFO buffer 120. However, the audio decoder 170 at the receiver 150 needs to get audio packets at a fixed rate (of packets per second) in order to play continuously. Therefore, it is necessary to buffer the audio data at the decoder 170 by using a buffer 160. When the receiver 150 is first powered up or is tuned to a new channel, the decoder 170 begins to play only after a certain initialization period, during which time packets are received and stored in the decoder-input buffer 160. After the decoder 170 begins playing, the decoder 170 consumes packets from the input buffer 160 at a fixed rate, while at the same time new packets arrive and are stored in the same buffer 160. The decoder input-buffer 160 has to have enough capacity so that even in the worst case of minimal delay and largest packet size, the buffer 160 will not overflow. In addition, the initialization period has to be sufficiently long to accumulate enough packets in the buffer 160 so that the buffer does not become empty due to transmission delays.
FIG. 2 illustrates a conventional multiple channel DAB communication system 200 that multiplexes N audio programs into one bitstream. A commercial example of such a multiple channel DAB communication system 200 is the Sirius Satellite Radio network. In such a multiple channel DAB communication system 200, N audio channels (e.g., N can be on the order of 100) are sampled and each sampled signal is applied to a corresponding audio encoder 210-1 through 210-N (hereinafter, collectively referred to as audio encoders 210). The bit streams generated by each audio encoder 210 are multiplexed at a joint bitstream stage 220 and buffered by a FIFO buffer 230 to form a composite bit stream of a very high bit rate. This composite bit stream is modulated and transmitted as a wide band radio signal. At the receiver 250, the composite bit stream is recovered from the incoming signal and demultiplexed by a bitstream parser 260. All channels are discarded except for the channel that is currently selected for listening. The bit stream of the selected channel is buffered by a FIFO buffer 270, decoded by an audio decoder 280 and converted to an analog audio signal.
Typically, the level of the buffers in a DAB communication system, such as the DAB communication systems 100, 200 illustrated in FIGS. 1 and 2, respectively, is specified and monitored in terms of a maximum number of bits. Normally, the centralized transmitter can have a high cost and thus the encoder buffer 120, 230 can be virtually any size. For the receivers, however, the buffer-size is a cost critical factor. In a multiple channel DAB system, such as the communication system 200 shown in FIG. 2, the decoder 280 decodes different radio programs based on the selected channel. Thus, the buffer-level measured in terms of the number of bits is different for each program that is decoded, since each of the N multiplexed encoded audio programs can have a different momentary bit rate.
Another issue in the design of DAB communication systems is the synchronization between the encoder 110 and the decoder 160. After the decoder 170 at the receiver 150 decodes a packet, the receiver 150 converts the resulting audio samples into an analog signal by applying the samples to a digital to analog converter (D/A) at a rate that should be identical to the sampling rate at the encoder 110. If the sampling rates at the encoder 110 and decoder 170 are even slightly different (a few parts per million), the packet buffer 160 at the decoder 170 will eventually overflow or underflow.
A need therefore exists for an improved buffer control technique that utilizes a buffer-level limit that may be applied regardless of the program selected by the receiver. In addition, a need exists for an improved buffer control technique that helps to synchronize the encoder and the decoder in a DAB communication system.